Motor vehicles include various electronic control computers mounted in the vehicle. The control computers may control various systems and/or subsystems within the vehicle. For example, a control computer may control the fuel system, the transmission, the brakes or the steering mechanism. These control computers are typically coupled to a variety of sensors and/or actuators. In commercial vehicles, control computers are often included that log data regarding usage of the vehicle, such as maximum speed, fuel usage, maximum acceleration, hours of usage, and the like. Such systems may even incorporate a Global Positioning System (GPS) receiver to log where the vehicle has traveled.
These control computers communicate with each other, and with external service equipment, via a vehicle communications network. Standards for vehicle communications network protocols have been developed and are well known in the art. For example, the Society of Automotive Engineers (SAE) has developed standards concerning the design and use of devices that transmit electronic signals and control information between vehicle components. Some of these standards are SAE J1939, SAE J1850, and SAE J1587. Other standards have been developed by other organizations, such as ISO-9141 developed by the International Standards Organization.
Service equipment has been utilized in the past to diagnose problems with control computers, download information logged by control computers, and upload information to control computers. For example, a control computer may limit the maximum speed or maximum torque of vehicle, and the maximum value may be programmable via a service tool. In some vehicles, a host of parameters, even the fuel mapping, may be modified via service equipment.
Service equipment may be generally categorized as hand-held or stationary. A handheld service device is often referred to as a “service tool”, and may be used for, among other things, trouble-shooting faults associated with control computers. A typical service tool includes a processing unit and a custom interface circuit to facilitate communication between the processing unit and the control computers in the vehicle. Most service tools are “custom” made, designed to interface only to the vehicles produced by a particular manufacturer, and often only to certain models produced by a particular manufacturer.
Stationary service equipment is generally used for retrieving data logs, and other more involved tasks, although for many purposes hand-held and stationary service equipment may be interchangeable. Recent designs for stationary service equipment have implemented personal computers. The current methods for coupling vehicle control computers to a personal computer (PC) require custom interface adapters which translate the protocols of the vehicle control computers (i.e., SAE J1939 and SAE J1587) into a PC communication standard, such as RS-232 (standard serial) or peripheral computer interface (PCI). These custom interface adapters typically include a PCI interface board mounted in the PC, or an external “pod” which is coupled between the vehicle control computer(s) and the PC.
Many manufacturers today market handheld computers for non-automotive applications. For example, a personal digital assistant (PDA) is a handheld, pen-based computer that combines personal information manager (PIM) functionality, such as a calendar and an address book, with computing features. Most PDAs are designed to communicate with a “host” computer, generally a personal computer (PC), via either an RS-232 serial port or a USB port.
Handheld computer systems may be used as a device for assisting in the extraction, display and upload of engine/vehicle information for transfer and analysis. One such system is described in U.S. patent application Ser. No. 09/583,892, titled “Handheld computer based system for collection, display, and analysis of engine/vehicle data”, which is herein incorporated by reference.
Both PDAs and PCs often include USB ports. USB ports are much more versatile than standard serial ports for two reasons. First, standard serial ports are “point-to-point”, so that only two devices may be connected via a standard serial link. By contrast, USB provides a multi-point serial link, so that multiple computers may be connected via one data link. Second, standard serial ports are much slower than USB ports. The maximum attainable speed on a standard serial port is currently 115 Kb/s. By contrast, high-speed USB is over 400 times faster, attaining transfer rates of 480 Mb/s, and full-speed USB is 100 times faster, attaining data rates of 12 Mb/s.
However, a computer attached to a multi-point USB serial link must either be configured as a “device”, or a “host”. Many devices may be attached to one host. However, on any one link, two hosts may not be directly connected to one another, nor may two devices be directly connected to one another. Some computers include an On-The-Go USB port, which allows them to function as a device, or a limited-function host, depending on the type of cable inserted into the port. Computers with an On-The-Go USB port may always be connected to a host (that is, function as a device), and may also be connected to a device (that is, function as a host) if the device is one which the On-The-Go USB port equipped computer is configured to support.
There also exist “Pocket PCs” with USB host capability, and PCs, PDAs, and other computerized devices with USB On-The-Go capability. Any USB computing device (PC, PDA, Pocket PC, etc.) may have any combination of USB host, device, or On-The-Go ports. Nothing in this disclosure is intended to indicate a limit in the possible USB combinations that may be included in a given type of computer.
The USB protocol is described in the “Universal Serial Bus Specification”, revision 2.0, Apr. 27, 2000, in “Errata to the USB 2.0 Specification”, Dec. 7, 2000, and in the “On-The-Go Supplement to the USB 2.0 Specification”, Revision 1.0 Dec. 18, 2001, all three of which are hereby incorporated by reference.
It would be desirable to provide an adapter configured to convert engine/vehicle data link communications protocol to USB, so that either a PC, PDA, or any other USB enabled computer may communicate with a vehicle's control computers. However, a PC is generally configured as a host, a PDA is generally configured as a device, and still other computers are configured with On-The-Go ports.
What is needed is an adapter configured to convert engine/vehicle data link communications protocol to USB with a controller configured to allow both host and device capability, and alternatively or additionally to offer On-The-Go port capability.